// components/douyu_room/douyu_room.js
// 组件使用cmponents函数创建,页面使用Page()函数创建
Component({
    /** * 组件的属性列表:用于接收父组件(页面)传值 相当于vue中的props */
    properties: {
        // 小程序中的porps数据默认是属性验证结构,自定义属性的默认值是指定数据类型
        roomData: Object,
    },

    /** 组件的初始数据,组件内部的响应数据,相当于reacct组件中的state*/
    data: {

    },

    /**
     * 组件的方法列表 组件中的自定时函数类似于vue,写在methods字段中
     */
    methods: {
        // 点击房间进入直播
        goToWeb(){
        //     wx.navigateTo({
        //       url: '/pages/web-view/web-view?id='+this.data.roomData.rid,
        // })

        // 吧rid传给父组件/页面,在页面中跳转页面
        // 小程序组件传值和vue组件传值极其相似
        // console.log(this.data.roomData.rid);
        this.triggerEvent('myEvent',this.data.roomData.rid)
        },
    },
    // lifetimes字段中实现组件的生命周期
    lifetimes: {
        created(){
            // 注意:在这个函数中不能调用父组件传入的数据
            console.log(1,"组件被创建");
        },

        attached(){
            // 使用this.data调用父组件传入的数据
            console.log(2,"组件被插入DOM树,开始渲染",this.data.roomData);
        },

        ready(){
            console.log(3,"组件已经渲染完成",this.data.roomData);
        },

        moved(){
            console.log(4,"组件在DOM树的位置发生变化");
        },  

        detached(){
            console.log(5,"组件从DOM树销毁");
        },

        error(){
            console.log(6,"组件方法出错",err);
        },
        // 在pageLifetimes组件所在页面的生命周期
        pageLifetimes: {
            show(){
                console.log(7,"组件所在页面显示");
            },
            hide(){
                console.log(8,"组件所在页面隐藏");
            },
            resize(){
                console.log(9,"组件所在页面尺寸变化,分屏,小窗");
            }
        }
    },
})
